This invention relates generally to data communications and more particularly to a method, system and apparatus for communicating data over shared media access.
A networking protocol is a pre-defined format for transmitting information between two or more devices. Networking protocols define, for example, the type of data compression used, the type of error checking performed, mechanisms for signaling to other devices that a message has been sent and for signaling to other devices that a message has been received. Packet-switching is a technique in which messages are divided into portions, referred to as packets, before being transmitted to the intended destination. Networking protocols such as TCP/IP, X.25, and Frame Relay are all packet-switching based protocols. In a TCP/IP network, packets are often referred to as datagrams. Each packet may follow a different route to reach the intended destination in that the destination address is included in the packet. Once all the packets are received at the intended destination, they are recombined to form the original message.
A switch is a device that connects multiple LANs or LAN segments and filters, i.e., examining the packet to determine its destination, in accordance with the networking protocol and forwards packets between them. Ethernet is a popular networking protocol defined by IEEE 802.3x standards. In an Ethernet network, the packets of information are referred to as frames. The Ethernet frame may be tagged or untagged where a tagged Ethernet frame includes an IEEE 802.1Q tag header, discussed in more detail hereinbelow, and an untagged Ethernet frame does not.
A media access controller (MAC) protocol is used to provide the data link layer of the Ethernet LAN system. As shown in the exemplary tagged Ethernet frame in FIG. 1, the MAC protocol encapsulates a SDU (payload data) 122 by adding an 18 byte header (Protocol Control Information (PCI)) (110, 112, 114, 120) before the data 122 and appending a 4-byte (32-bit) Cyclic Redundancy Check (CRC) 124 after the data 122.
As shown if FIG. 1, the header consists of four parts. First, the header includes a 6-byte destination address 110, which specifies either a single recipient node (unicast mode), a group of recipient nodes (multicast mode), or the set of all recipient nodes (broadcast mode). The header also includes a 6-byte source address 112, which is set to the sender""s globally unique node address. This may be used by the network layer protocol to identify the sender, but usually other mechanisms are used (e.g. arp). Its main function is to allow address learning which may be used to configure the filter tables in a bridge. The third part of the header is a 4-byte IEEE 802.1Q tag header 114 which, as shown in more detail in FIG. 2, includes a 2-byte TPID 116, with a value of 81-00 (hex), and a 2 bytes of TCI 118. The TPID 116 is essentially a new IEEE-type field. The fourth part of the header is a 2-byte type field 120, which provides a Service Access Point (SAP) to identify the type of protocol being carried (e.g. the values 0xc3x970800 is used to identify the IP network protocol, other values are used to indicate other network layer protocols). In the case of IEEE 802.3 LLC, this may also be used to indicate the length of the data part 122.
The 32-bit CRC 124 added at the end of the frame provides error detection in the case where line errors (or transmission collisions in Ethernet) result in corruption of the MAC frame. Any frame with an invalid CRC 124 is discarded by the MAC receiver without further processing. The MAC protocol, however, generally does not provide any indication that a frame has been discarded due to an invalid CRC 124.
It is important to realize that nearly all serial communications systems transmit the least significant bit of each byte first at the physical layer. Ethernet supports broadcast, unicast, and multicast addresses. The appearance of a multicast address on the cable (in this case an IP multicast address, with group set to the bit pattern 0xxx xxxx xxxx xxxx xxxx xxxx) is therefore as shown below (bits transmitted from left to right): 
Note, however, that when the same frame is stored in the memory of a computer, the bits are ordered such that the least significant bit of each byte is stored in the right most position (bits transmitted right-to-left within octets, octets transmitted left-to-right): 
The Carrier Sense Multiple Access (CSMA) with Collision Detection (CD) protocol is used to control access to the shared Ethernet medium.
The Ethernet standard dictates a minimum size of frame, which requires at least 46 bytes of data to be present in every MAC frame. If the network layer wishes to send less than 46 bytes of data the MAC protocol adds sufficient number of zero bytes (0xc3x9700 also known as null padding characters) to satisfy this requirement. The maximum size of data which may be carried in a MAC frame using Ethernet is 1500 bytes (this is known as the MTU in IP).
A protocol known as the xe2x80x9cAddress Resolution Protocolxe2x80x9d (arp) is used to identify the MAC source address of remote computers when IP is used over an Ethernet LAN.
A VLAN, or virtual LAN, as defined by the IEEE 802.1Q standard, is a network of devices configured through software rather than hardware that behave as if they are connected to the same wire even though they may actually be physically located on different segments of a LAN. In a VLAN, when a computer is physically moved to another location, it can stay on the same VLAN without any hardware reconfiguration. While VLANs were initially implemented by defining groupings of ports (i.e., ports 2, 5, and 6 comprise VLAN A while ports 1, 3, and 4 comprise VLAN B) on a single switch, VLANs that span multiple switches (i.e., ports 2, 5 and 6 on switch A and ports 1, 2 and 4 on switch B comprise VLAN A) are also contemplated.
In order to provide consistent treatment of signals within a switch in a shared media environment, the present invention provides for transporting all data frames within the switch with a VLAN tag and a Cyclic Redundancy Code (CRC) even when the signal is originally received without a VLAN tag.
In another aspect of the present invention, pre-defined fields internal to the switch are used to carry additional, private information within the switch as needed.
These and other features of the invention that will be apparent to those skilled in the art from the following detailed description of the invention, taken together with the accompanying drawings.